﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SourceCodeIoc.Factory
{
    public abstract class AbstractIOCFactory
    {
        /// <summary>
        /// 策略模式
        /// </summary>
        public IObjectCreateStrategy objectCreateStrategy;

        /// <summary>
        /// 获取对象
        /// </summary>
        /// <param name="FullName"></param>
        /// <returns></returns>
        public abstract object GetObject(string FullName);

        /// <summary>
        /// 开启作用域
        /// </summary>
        public abstract void StartScope();

        /// <summary>
        /// 关闭作用域
        /// </summary>
        public abstract void StopScope();
    }
}
